a7ce5c7397dd5938a59a34e3b114f11a2842f54c,src/org/exist/xquery/functions/securitymanager/PermissionsFunction.java,PermissionsFunction,functionModifyACE,#XmldbURI#number#ACE_ACCESS_TYPE#String#,333
Before Change
}
private Sequence functionModifyACE(final XmldbURI pathUri, final int index, final ACE_ACCESS_TYPE access_type, final String mode) throws PermissionDeniedException {
PermissionFactory.updatePermissions(context.getBroker(), pathUri, new PermissionModifier(){
@Override
public void modify(final Permission permission) throws PermissionDeniedException {
if(permission instanceof SimpleACLPermission) {
//insert the ace
final SimpleACLPermission aclPermission = ((SimpleACLPermission)permission);
aclPermission.modifyACE(index, access_type, mode);
} else {
throw new PermissionDeniedException("ACL like permissions have not been enabled");
}
}
});
return Sequence.EMPTY_SEQUENCE;
}
After Change
}
private Sequence functionModifyACE(final XmldbURI pathUri, final int index, final ACE_ACCESS_TYPE access_type, final String mode) throws PermissionDeniedException {
PermissionFactory.updatePermissions(context.getBroker(), pathUri,
forAcl(aclPermission -> aclPermission.modifyACE(index, access_type, mode))
);
return Sequence.EMPTY_SEQUENCE;
}